home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 May
/
EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso
/
programs
/
write
/
rexx
/
empty.wrx
next >
Wrap
Text File
|
1996-09-18
|
3KB
|
130 lines
/*
* WRITE 5.0 © 1991-1996 by Tim Teulings
*
* Dieses Script beinhaltet einige Beispiele für die richtige Ansteuerung
* von WRITE mittels AREXX.
*
* $VER: 1.2 Tim Teulings
*
* History:
*
* 1.2 Addepted to WRITE 5.0
*/
/*say "Dieses Script tut nichts!"
EXIT*/
/*
* Hier wird nachgeschaut, ob WRITE bereits gestartet worden ist.
* Wenn nicht wird ENV:WRITE ausgelesen und WRITE gestartet.
*/
IF ~show('P',"WRITE_V")
THEN DO
IF Open(File,"ENV:WRITEPATH",r) THEN DO
WRITEPATH = READLN(File)
Close(File)
ADDRESS "COMMAND"
"run >NIL: <NIL: " || WRITEPATH || WRITE
"SYS:REXXC/WaitForPort <NIL: >NIL: WRITE"
END
ELSE DO
say "Kann WRITE nicht finden!"
EXIT
END
END
/* Addrssieren des AREXX-Ports */
if ~show('P',"WRITE_V") then
do
say "Dieses Skript arbeitet nicht ohne den Texteditor WRITE!"
exit 0
end
ADDRESS "WRITE_V"
OPTIONS RESULTS
SIGNAL ON SYNTAX /* Abfangen von Syntaxfehlern */
/*******************************/
/* Öffnen eines neuen Fensters */
/*******************************/
'&ID:=NewEd("")'
'&PORT:=OpenPort(NUMBER(&ID))'
IF Port = ""
THEN DO
'MessageOk("REXX-script ' || "'open.wrx'" || ':\nSorry, no more private ports!")'
EXIT
END
/* Ansprechen des privaten Ports dieses neuen Fensters */
INTERPRET ADDRESS Port
'Window(0,0,0,0)'
/********************************************************/
/* Alternative : Locken des aktuellen, aktiven Fensters */
/********************************************************/
'&ID:=_currentId' /* hole den ID des aktuellen Fenster, */
/* der von den weiteren Befehlen benötigt wird. */
IF ID=0 THEN DO
'MessageOk("Kein Fenster aktiviert!")'
EXIT
END
'&PORT:=OpenPort(NUMBER(&ID))' /* PrivatePort des aktuellen Fensters öffnen */
IF Port="" THEN DO /* 'OpenPort' gibt "" zurück, wenn Port nicht */
/* geöffnet werden konnte */
'LockWindow(NUMBER(&ID))'
END
ELSE DO
INTERPRET ADDRESS Port /* PrivatePort addressieren.Alle Komandos beziehen */
/* sich nun auf das Fenster mit diesem Port */
END
/*********************************************/
/* Hier folgt das eigendliche AREXX-Programm */
/*********************************************/
/* Schließen des Ports/Unlocken des Fensters */
IF Port="" THEN DO
'LockWindow(0)'
END
ELSE DO
'ClosePort(NUMBER(&ID))'
END
EXIT
/********/
/* Ende */
/********/
SYNTAX:
SAY "Leider trat ein Fehler auf... Zeile : " SIGL ":" ERRORTEXT(RC)
IF Port="" THEN DO
'LockWindow(0)'
END
ELSE DO
'ClosePort(NUMBER(&ID))'
END
EXIT